/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package redinftel.sesiones;

import java.math.BigDecimal;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import redinftel.entidades.Lista;
import redinftel.entidades.Usuario;

/**
 * Clase para el manejo de datos de la entidad Lista.
 * @author Six Degrees Team
 */
@Stateless
public class ListaFacade extends AbstractFacade<Lista> implements ListaFacadeRemote {
    @PersistenceContext(unitName = "redinftel-ejbPU")
    private EntityManager em;

    protected EntityManager getEntityManager() {
        return em;
    }

    public ListaFacade() {
        super(Lista.class);
    }

    @Override
    public List<BigDecimal> findPK() {
        return em.createQuery("SELECT MAX(l.idLista) FROM Lista l").getResultList();
    }

    @Override
    public List<Lista> findByUsuario(Usuario idUsuarioCreador) {
        return em.createQuery("SELECT l FROM Lista l WHERE l.idUsuarioCreador = ?1")
                .setParameter(1, idUsuarioCreador).getResultList();
    }

    @Override
    public Lista findBynombre(String nombre) {
        return (Lista) em.createNamedQuery("Lista.findByNombre").setParameter("nombre", nombre).getResultList().get(0);
    }

    
}
